home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C & C++ Multimedia Cyber Classroom
/
C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso
/
cpphtp2
/
full.sec
< prev
next >
Wrap
Text File
|
1998-03-02
|
13KB
|
380 lines
Preface
C++ How to Program: Second Edition
A Revolution in Software Development
"Procedural Programming, Object-Based Programming, Object-Oriented Programming and Generic Programming"
Evolving from Pascal and C to C++
Introducing Object Orientation from Chapter 1!
About this Book
A Tour of the Book
The C & C++ Multimedia Cyber Classroom: Second Edition
Acknowledgments
About the Authors
"About Deitel & Associates, Inc."
How To Use This Cyber Classroom
1 Introduction to Computers and C++ Programming
1.1 Introduction
1.2 What is a Computer?
1.3 Computer Organization
1.4 Evolution of Operating Systems
"1.5 Personal Computing, Distributed Computing, and Client/Server Computing"
"1.6 Machine Languages, Assembly Languages, and High-level Languages"
1.7 History of C and C++
1.8 C++ Standard Library
"1.9 Java, the Internet and the World Wide Web"
1.10 Other High-level Languages
1.11 Structured Programming
1.12 Basics of a Typical C++ Environment
1.13 General Notes About C++ and This Book
1.14 Introduction to C++ Programming
1.15 A Simple Program: Printing a Line of Text
1.16 Another Simple Program: Adding Two Integers
1.17 Memory Concepts
1.18 Arithmetic
1.19 Decision Making: Equality and Relational Operators
1.20 New-Style Header Files and Namespaces
1.21 Thinking About Objects
1.22 Summary
2 Control Structures
2.1 Introduction
2.2 Algorithms
2.3 Pseudocode
2.4 Control Structures
2.5 The if Selection Structure
2.6 The if/else Selection Structure
2.7 The while Repetition Structure
2.8 Formulating Algorithms: Case Study 1 (Counter-Controlled Repetition)
"2.9 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition)"
"2.10 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 3 (Nested Control Structures)"
2.11 Assignment Operators
2.12 Increment and Decrement Operators
2.13 Essentials of Counter-Controlled Repetition
2.14 The for Repetition Structure
2.15 Examples Using the for Structure
2.16 The switch Multiple-Selection Structure
2.17 The do/while Repetition Structure
2.18 The break and continue Statements
2.19 Logical Operators
2.20 Confusing Equality ( ) and Assignment ( ) Operators
2.21 Structured Programming Summary
2.22 Thinking About Objects: Identifying the Objects in a Problem
2.23 Elevator Laboratory Assignment 1
2.24 Summary
3 Functions
3.1 Introduction
3.2 Program Components in C++
3.3 Math Library Functions
3.4 Functions
3.5 Function Definitions
3.6 Function Prototypes
3.7 Header Files
3.8 Random Number Generation
3.9 Example: A Game of Chance and Introducing enum
3.10 Storage Classes
3.11 Scope Rules
3.12 Recursion
3.13 Example Using Recursion: The Fibonacci Series
3.14 Recursion vs. Iteration
3.15 Functions with Empty Parameter Lists
3.16 Inline Functions
3.17 References and Reference Parameters
3.18 Default Arguments
3.19 Unary Scope Resolution Operator
3.20 Function Overloading
3.21 Function Templates
3.22 Thinking About Objects: Identifying an Object's Attributes
3.23 Elevator Laboratory Assignment 2
3.24 Summary
4 Arrays
4.1 Introduction
4.2 Arrays
4.3 Declaring Arrays
4.4 Examples Using Arrays
4.5 Passing Arrays to Functions
4.6 Sorting Arrays
"4.7 Case Study: Computing Mean, Median, and Mode Using Arrays"
4.8 Searching Arrays: Linear Search and Binary Search
4.9 Multiple-Subscripted Arrays
4.10 Thinking About Objects: Identifying a Class's Behaviors
4.11 Elevator Laboratory Assignment 3
4.12 Summary
5 Pointers and Strings
5.1 Introduction
5.2 Pointer Variable Declarations and Initialization
5.3 Pointer Operators
5.4 Calling Functions by Reference
5.5 Using the Const Qualifier with Pointers
5.6 Bubble Sort Using Call-by-reference
5.7 Pointer Expressions and Pointer Arithmetic
5.8 The Relationship Between Pointers and Arrays
5.9 Arrays of Pointers
5.10 Case Study: A Card Shuffling and Dealing Simulation
5.11 Function Pointers
5.12 Introduction to Character and String Processing
5.13 Thinking About Objects: Interactions Among Objects
5.14 Summary
6 Classes and Data Abstraction
6.1 Introduction
6.2 Structure Definitions
6.3 Accessing Members of Structures
6.4 Implementing a User-Defined Type Time With a Struct
6.5 Implementing a Time Abstract Data Type with a Class
6.6 Class Scope and Accessing Class Members
6.7 Separating Interface from Implementation
6.8 Controlling Access to Members
6.9 Access Functions and Utility Functions
6.10 Initializing Class Objects: Constructors
6.11 Using Default Arguments with Constructors
6.12 Using Destructors
6.13 When Constructors and Destructors are Called
6.14 Using Data Members and Member Functions
6.15 A Subtle Trap: Returning a Reference to a Private Data Member
6.16 Assignment by Default Memberwise Copy
6.17 Software Reusability
6.18 Thinking About Objects: Programming the Classes for the Elevator Simulator
6.19 Elevator Laboratory Assignment 5
6.20 Summary
7 Classes: Part II
7.1 Introduction
7.2 const (Constant) Objects and const Member Functions
7.3 Composition: Objects as Members of Classes
7.4 friend Functions and friend Classes
7.5 Using the this Pointer
7.6 Dynamic Memory Allocation with Operators new and delete
7.7 static Class Members
7.8 Data Abstraction and Information Hiding
7.9 Container Classes and Iterators
7.10 Proxy Classes
7.11 Thinking About Objects: Using Composition and Dynamic Object Management in the Elevator Simulator
7.12 Elevator Laboratory Assignment 6
7.13 Summary
8 Operator Overloading
8.1 Introduction
8.2 Fundamentals of Operator Overloading
8.3 Restrictions on Operator Overloading
8.4 Operator Functions as Class Members vs. as Friend Functions
8.5 Overloading Stream-Insertion and Stream-Extraction Operators
8.6 Overloading Unary Operators
8.7 Overloading Binary Operators
8.8 Case Study: An Array Class
8.9 Converting Between Types
8.10 Case Study: A String Class
8.11 Overloading ++ and --
8.12 Case Study: A Date Class
8.13 Summary
9 Inheritance
9.1 Introduction
9.2 Inheritance: Base Classes and Derived Classes
9.3 Protected Members
9.4 Casting Base-Class Pointers to Derived-Class Pointers
9.5 Using Member Functions
9.6 Overriding Base-Class Members in a Derived Class
"9.7 Public, Protected and Private Inheritance"
9.8 Direct Base Classes and Indirect Base Classes
9.9 Using Constructors and Destructors in Derived Classes
9.10 Implicit Derived-Class Object to Base-Class Object Conversion
9.11 Software Engineering with Inheritance
9.12 Composition Vs. Inheritance
9.13 "Uses A" and "Knows A" Relationships
"9.14 Case Study: Point, Circle, Cylinder"
9.15 Multiple Inheritance
9.16 Summary
10 Virtual Functions and Polymorphism
10.1 Introduction
10.2 Type Fields and switch Statements
10.3 Virtual Functions
10.4 Abstract Base Classes and Concrete Classes
10.5 Polymorphism
10.6 Case Study: A Payroll System Using Polymorphism
10.7 New Classes and Dynamic Binding
10.8 Virtual Destructors
10.9 Case Study: Inheriting Interface and Implementation
"10.10 Polymorphism, virtual Functions and Dynamic Binding"
10.11 Summary
11 C++ Stream Input/Output
11.1 Introduction
11.2 Streams
11.3 Stream Output
11.4 Stream Input
"11.5 Unformatted I/O with read, gcount and write"
11.6 Stream Manipulators
11.7 Stream Format States
11.8 Stream Error States
11.9 Tying an Output Stream to an Input Stream
11.10 Summary
12 Templates
12.1 Introduction
12.2 Function Templates
12.3 Overloading Template Functions
12.4 Class Templates
12.5 Class Templates and Non-Type Parameters
12.6 Templates and Inheritance
12.7 Templates and Friends
12.8 Templates and Static Members
12.9 Summary
13 Exception Handling
13.1 Introduction
13.2 When Exception Handling Should Be Used
13.3 Other Error-Handling Techniques
"13.4 Basics of C++ Exception Handling: try, throw, catch"
13.5 A Simple Exception-Handling Example: Divide by Zero
13.6 Throwing an Exception
13.7 Catching an Exception
13.8 Rethrowing an Exception
13.9 Exception Specifications
13.10 Processing Unexpected Exceptions
13.11 Stack Unwinding
"13.12 Constructor